package com.wicket.okrframework.integration;

import com.wicket.okrframework.common.ro.OkrResult;
import com.wicket.okrframework.integration.dto.*;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import  com.wicket.okrframework.integration.dto.*;
import  com.wicket.okrframework.integration.dto.*;
import  com.wicket.okrframework.integration.dto.*;

/**
 * @author ：
 * @date ：
 *
 *
 * @version 1.0
 */
@FeignClient("framework")
public interface FwBaseUserClient {
    /**
   * D1-查账号公共信息详情
   */
    @PostMapping("/base/user/queryPublicInfoDetail")
    public OkrResult<QueryPublicInfoDetailRespDto> queryPublicInfoDetail(QueryPublicInfoDetailReqDto reqDTO);

    /**
   * D1-2新增联盟用户(公共)
   */
    @PostMapping("/base/user/addUsersUnion")
    public OkrResult<AddUsersUnionRespDto> addUsersUnion(AddUsersUnionReqDto reqDTO);

    /**
   * D1-2修改个人账号
   */
    @PostMapping("/base/user/updateUser")
    public OkrResult<UpdateUserRespDto> updateUser(UpdateUserReqDto reqDTO);

    /**
   * D1-2查询个人信息列表
   */
    @PostMapping("/base/user/queryPersonalInformationList")
    public OkrResult<QueryPersonalInformationListRespDto> queryPersonalInformationList(QueryPersonalInformationListReqDto reqDTO);

    /**
   * D1-2修改手机号
   */
    @PostMapping("/base/user/updateChangePhone")
    public OkrResult<UpdateChangePhoneRespDto> updateChangePhone(UpdateChangePhoneReqDto reqDTO);

    /**
   * D1-2修改个人资料
   */
    @PostMapping("/base/user/updateUserInfo")
    public OkrResult<UpdateUserInfoRespDto> updateUserInfo(UpdateUserInfoReqDto reqDTO);

    /**
   * D1-2查询个人资料详情
   */
    @PostMapping("/base/user/queryUserInfoDetail")
    public OkrResult<QueryUserInfoDetailRespDto> queryUserInfoDetail(QueryUserInfoDetailReqDto reqDTO);

    /**
   * D1-2查询个人账号详情
   */
    @PostMapping("/base/user/queryUserDetail")
    public OkrResult<QueryUserDetailRespDto> queryUserDetail(QueryUserDetailReqDto reqDTO);

    /**
   * D1-2首次登录完善个人资料
   */
    @PostMapping("/base/user/addRenewUserInfo")
    public OkrResult<AddRenewUserInfoRespDto> addRenewUserInfo(AddRenewUserInfoReqDto reqDTO);

    /**
   * D1-2查询联盟用户列表
   */
    @PostMapping("/base/user/queryUsersUnionDetail")
    public OkrResult<QueryUsersUnionDetailRespDto> queryUsersUnionDetail(QueryUsersUnionDetailReqDto reqDTO);

    /**
   * D1-2查询个人信息详情
   */
    @PostMapping("/base/user/queryPersonalInformationDetail")
    public OkrResult<QueryPersonalInformationDetailRespDto> queryPersonalInformationDetail(QueryPersonalInformationDetailReqDto reqDTO);

    /**
     * D1-2注销个人账号
     */
    @PostMapping("/base/user/deleteUser")
    public OkrResult<DeleteUserRespDto> deleteUser(DeleteUserReqDto reqDTO);
/**
   * D1-查询用户登录信息（非Redis）
   */
    @PostMapping("/base/user/queryUserInfoByLoginDetail")
    public OkrResult<QueryUserInfoByLoginDetailRespDto> queryUserInfoByLoginDetail(QueryUserInfoByLoginDetailReqDto reqDTO);
/**
   * D1-2查询个人资料详情(公共)
   */
    @PostMapping("/base/user/queryUserInfoDetailCom")
    public OkrResult<QueryUserInfoDetailComRespDto> queryUserInfoDetailCom(QueryUserInfoDetailComReqDto reqDTO);
/**
   * D1-查询公共信息详情(公共)
   */
    @PostMapping("/base/user/queryPublicInfoDetailCom")
    public OkrResult<QueryPublicInfoDetailComRespDto> queryPublicInfoDetailCom(QueryPublicInfoDetailComReqDto reqDTO);
/**
   * D1-执行登录验证(公共)
   */
    @PostMapping("/base/user/implementSignInCheckCom")
    public OkrResult<ImplementSignInCheckComRespDto> implementSignInCheckCom(ImplementSignInCheckComReqDto reqDTO);
/**
   * D1执行登录验证处理数据(公共)
   */
    @PostMapping("/base/user/implementSignIncheckProcessingDataCom")
    public OkrResult<ImplementSignIncheckProcessingDataComRespDto> implementSignIncheckProcessingDataCom(ImplementSignIncheckProcessingDataComReqDto reqDTO);
/**
   * D1-2新增男女尊称(公共)
   */
    @PostMapping("/base/user/addSexNameCom")
    public OkrResult<AddSexNameComRespDto> addSexNameCom(AddSexNameComReqDto reqDTO);
/**
   * D1-2查询个人密保问题(公共)
   */
    @PostMapping("/base/user/queryUserPwdProblemDetailCom")
    public OkrResult<QueryUserPwdProblemDetailComRespDto> queryUserPwdProblemDetailCom(QueryUserPwdProblemDetailComReqDto reqDTO);
/**
   * D1-2找回密码
   */
    @PostMapping("/base/user/findPassword")
    public OkrResult<FindPasswordRespDto> findPassword(FindPasswordReqDto reqDTO);
/**
   * D1-2查询个人密保问题详情
   */
    @PostMapping("/base/user/queryUserPwdProblemDetail")
    public OkrResult<QueryUserPwdProblemDetailRespDto> queryUserPwdProblemDetail(QueryUserPwdProblemDetailReqDto reqDTO);
/**
   * D1-2查询账号详情(公共)
   */
    @PostMapping("/base/user/queryUserDetailCom")
    public OkrResult<QueryUserDetailComRespDto> queryUserDetailCom(QueryUserDetailComReqDto reqDTO);
/**
   * D1登录成功生成Token
   */
    @PostMapping("/base/user/createToken")
    public OkrResult<CreateTokenRespDto> createToken(CreateTokenReqDto reqDTO);
/**
   * D1-工号信息验证(公共)
   */
    @PostMapping("/base/user/checkLoginNumber")
    public OkrResult<CheckLoginNumberRespDto> checkLoginNumber(CheckLoginNumberReqDto reqDTO);
/**
   * D1-执行统一认证登录验证(公共)
   */
    @PostMapping("/base/user/implementUnifiedCertificationSignInCheckCom")
    public OkrResult<ImplementUnifiedCertificationSignInCheckComRespDto> implementUnifiedCertificationSignInCheckCom(ImplementUnifiedCertificationSignInCheckComReqDto reqDTO);
/**
   * D1获取空间三方鉴权配置信息(公共)
   */
    @PostMapping("/base/user/obtainSpaceThirdPartyAuthenticationConfInfoCom")
    public OkrResult<ObtainSpaceThirdPartyAuthenticationConfInfoComRespDto> obtainSpaceThirdPartyAuthenticationConfInfoCom(ObtainSpaceThirdPartyAuthenticationConfInfoComReqDto reqDTO);
/**
   * D1执行统一认证退出登录(公共)
   */
    @PostMapping("/base/user/implementAuthLoginOutCom")
    public OkrResult<ImplementAuthLoginOutComRespDto> implementAuthLoginOutCom(ImplementAuthLoginOutComReqDto reqDTO);
/**
   * D1-获取统一认证用户信息(公共)
   */
    @PostMapping("/base/user/obtainAuthAccountInfoCom")
    public OkrResult<ObtainAuthAccountInfoComRespDto> obtainAuthAccountInfoCom(ObtainAuthAccountInfoComReqDto reqDTO);
/**
   * D1-执行统一认证登录处理数据(公共)
   */
    @PostMapping("/base/user/implementUnifiedCertificationSignInCheckProcessingDataCom")
    public OkrResult<ImplementUnifiedCertificationSignInCheckProcessingDataComRespDto> implementUnifiedCertificationSignInCheckProcessingDataCom(ImplementUnifiedCertificationSignInCheckProcessingDataComReqDto reqDTO);
/**
   * D1-登录V3(公共)
   */
    @PostMapping("/base/user/implementLoginCom")
    public OkrResult<ImplementLoginComRespDto> implementLoginCom(ImplementLoginComReqDto reqDTO);
/**
   * D1批量查询个人资料(公共)
   */
    @PostMapping("/base/user/batchQueryUserInfoCom")
    public OkrResult<BatchQueryUserInfoComRespDto> batchQueryUserInfoCom(BatchQueryUserInfoComReqDto reqDTO);
/**
   * D1拼第三方统一认证的登录地址
   */
    @PostMapping("/base/user/queryObtainUnifiedAuthenticationLoginInformationDetailCom")
    public OkrResult<QueryObtainUnifiedAuthenticationLoginInformationDetailComRespDto> queryObtainUnifiedAuthenticationLoginInformationDetailCom(QueryObtainUnifiedAuthenticationLoginInformationDetailComReqDto reqDTO);
/**
   * D1-查询第三方统一认证用户信息详情
   */
    @PostMapping("/base/user/queryAuthAccountInfoDetail")
    public OkrResult<QueryAuthAccountInfoDetailRespDto> queryAuthAccountInfoDetail(QueryAuthAccountInfoDetailReqDto reqDTO);
/**
   * D1执行异步更新账号(公共)
   */
    @PostMapping("/base/user/implementAsynUpdateUserCom")
    public OkrResult<ImplementAsynUpdateUserComRespDto> implementAsynUpdateUserCom(ImplementAsynUpdateUserComReqDto reqDTO);
    //
}
